Aufgabensatz 5: Datenquellen verbinden und API-Entwurf

Kompakter Vertiefungssatz mit direkten Bearbeitungsfeldern. Richtzeit: ca. 70–75 Minuten.

Bearbeitung: Antworten direkt in die Felder eintragen. Die Eingaben werden lokal im Browser gespeichert und können über Als PDF drucken als Lösung abgegeben werden.

1. Quellenlage analysieren

Richtzeit: 12–15 Minuten

Ein System nutzt drei Datenquellen:

QuelleBeinhaltetAktualisierung
ProduktdatenbankID, Name, Kategorie, Basispreislaufend
Lager-CSVProdukt-ID, Bestand, Lagerorttäglich morgens
Lieferanten-APIProdukt-ID, Lieferzeit, Verfügbarkeit beim Lieferantenbei Abruf
  1. Beschreibe, welche Quelle die führende Quelle für Produktnamen und Preise sein sollte.
  2. Erkläre, warum der Lagerbestand aus einer anderen Quelle kommen kann.
  3. Nenne ein Risiko, wenn Quellen zu unterschiedlichen Zeiten aktualisiert werden.

2. Gemeinsames Antwortmodell entwerfen

Richtzeit: 18–20 Minuten

Entwirf ein JSON-Objekt, das Daten aus allen drei Quellen kombiniert. Es soll mindestens enthalten:

id, name, category, basePrice, stock, warehouse, supplierAvailability, deliveryDays, lastUpdated
  1. Erstelle ein Beispielobjekt mit plausiblen Werten.
  2. Nutze passende Datentypen.
  3. Kennzeichne mit lastUpdated, wann die kombinierte Antwort erstellt wurde.
Hinweis: Bei kombinierten API-Antworten ist Transparenz wichtig: Clients sollten erkennen können, wie aktuell Daten sind.

3. Endpunkte für kombinierte Produktdaten planen

Richtzeit: 12–15 Minuten
  1. Entwirf einen Endpunkt für eine Produktübersicht mit kombinierten Daten.
  2. Entwirf einen Endpunkt für Details zu einem einzelnen Produkt.
  3. Ergänze zwei sinnvolle Query-Parameter, z. B. für Kategorie, Verfügbarkeit oder Sortierung.
  4. Beschreibe kurz, welche Daten im Hintergrund aus welcher Quelle gelesen werden.
ZweckMethode + EndpunktQuery-ParameterGenutzte Quellen
Übersicht
Detail

4. Umgang mit unvollständigen Quelldaten

Richtzeit: 12–15 Minuten

Die Lieferanten-API ist kurzzeitig nicht erreichbar. Produktdatenbank und Lager-CSV sind aber verfügbar.

  1. Entscheide, ob die API trotzdem eine Antwort liefern sollte.
  2. Entwirf eine mögliche JSON-Antwort, in der sichtbar wird, dass Lieferantendaten fehlen.
  3. Formuliere eine kurze Warnmeldung für den Client.
Hinweis: Fehlende Teildaten müssen nicht immer zum vollständigen Abbruch führen. Wichtig ist, dass der Client den Zustand erkennt.

5. Kurze Architekturentscheidung begründen

Richtzeit: 10–12 Minuten

Vergleiche zwei Möglichkeiten:

Variante AVariante B
Die API liest bei jedem Aufruf alle Quellen live aus.Die API nutzt einen vorberechneten Zwischenspeicher, der regelmäßig aktualisiert wird.
  1. Nenne je einen Vorteil pro Variante.
  2. Nenne je einen Nachteil pro Variante.
  3. Empfiehl eine Variante für eine Schulungsumgebung und begründe deine Wahl.
VarianteVorteilNachteil
A: Live auslesen
B: Zwischenspeicher
AbgabeQuellenanalyse, kombiniertes JSON-Modell, Endpunktentwurf, Ausfallantwort und begründete Architekturentscheidung.